package Collection;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import org.w3c.dom.ls.LSOutput;

import java.util.*;

/**
 * java。util。List接口
 * List继承自Collection。List集合是可以重复集，并且有序，提供了一套可以通过下标操作元素的方法
 * <p>
 * 常用实现类：
 * java，util。ArrayList：内部使用数组实现，查询性能更好。
 * java。util。LinkedList：内部使用链表实现，首尾增删元素性能更好。
 */
public class ListDemo1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        List<String> list1 = new LinkedList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list1.add("six");
        list1.add("night");
        System.out.println(list1);
        System.out.println(list);
         /*
             E  get(int  index)
             获取当前List集合中指定下标处对应的元素
          */
        //获取集合中的第三个元素
        String str = list.get(2);//arr[2]
        System.out.println(str);
        System.out.println("==========================");
        //for循环遍历List集合
        for (int i = 0; i < list1.size(); i++) {
            str = list1.get(i);
            System.out.println(str);
        }
           /*
            E  set (int index,E e)
            将给定元素设置带指定位置上，返回值为该位置原来对应的元素
            替换操作
            */
        String old = list.set(2, "三");
        System.out.println(list);
        System.out.println("被替换的元素是：" + old);
        for (int i = 0; i <list.size()/2 ; i++) {
            //获取正数位置上的元素
            String e=list.get(i);
            //将正数位置的元素放到倒数位置上
            e=list.set(list.size()-1-i,e);
            //在将原倒数位置上的元素设置到正数位置上
            list.set(i,e);
        }
        System.out.println(list);
        /*
        java.util.Collections是集合的工具类，里面提供很多静态方法，可以方便操作集合
         */
        //反转List集合：
        Collections.reverse(list);
        System.out.println(list);
        }
    }
